USE business;
-- usunicie obiektw z bazy danych, jeli istniej
IF OBJECT_ID('dbo.id_v_kolumna1') IS NOT NULL
	DROP INDEX dbo.id_v_kolumna1;  -- najpierw usuwamy indeks
GO
IF OBJECT_ID('dbo.v_perspektywa') IS NOT NULL
	DROP VIEW dbo.v_perspektywa;  -- potem perspektyw
GO
IF OBJECT_ID('dbo.t_tabela') IS NOT NULL
	DROP TABLE dbo.t_tabela;      -- a na kocu tabel
GO

-- tworzymy tabel bez ograniczenia UNIQUE
CREATE TABLE dbo.t_tabela
(
	kolumna1 INT NULL,
	kolumna2 VARCHAR(10) NOT NULL
);
GO

-- tworzymy perspektyw z opcj SCHEMABINDING
CREATE VIEW dbo.v_perspektywa
WITH SCHEMABINDING
AS
SELECT
	kolumna1,
	kolumna2
FROM dbo.t_tabela
WHERE
	kolumna1 IS NOT NULL;
GO

-- tworzymy indeks na kolumnie 
CREATE UNIQUE CLUSTERED INDEX id_v_kolumna1
ON v_perspektywa(kolumna1);
GO
